package cn.iocoder.yudao.module.scrm.controller.admin.operaterecord.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.io.Serializable;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;

@Schema(description = "管理后台 - 操作记录新增/修改 Request VO")
@Data
public class OperateRecordSaveReqVO implements Serializable {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17978")
    private Integer id;

    @Schema(description = "操作对象ID", example = "14081")
    private Integer targetId;

    @Schema(description = "操作方式-(1跟进-2更新-3新增)")
    private String way;

    @Schema(description = "操作类型(1线索 2客户)", example = "1")
    private String type;

    @Schema(description = "修改内容list")
    private String modifyContent;

    @Schema(description = "操作属性（跟进类型、更新字段）")
    private String attribute;

    @Schema(description = "旧值")
    private String oldValue;

    @Schema(description = "新值")
    private String newValue;

    @Schema(description = "跟进时间")
    @DateTimeFormat(pattern =FORMAT_YEAR_MONTH_DAY)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
    private Date followUpTime;

    @Schema(description = "跟进内容")
    private String followUpContent;

    @Schema(description = "来源名字", example = "芋艿")
    private String sourceName;

    @Schema(description = "附件地址", example = "https://www.iocoder.cn")
    private String fileUrl;

}